package com.gmall.bean;

import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;

@Data
@Builder
public class ProductStats {
    String stt;//窗口起始时间
    String edt;//窗口结束时间
    Long goods_id;//商品id
    String goods_name;//商品名称
    BigDecimal goods_amount;//商品价格
    Long category3_id;//品类编号
    String category3_name;//品类名称

    @Builder.Default
    Long display_ct = 0L;//曝光数

    @Builder.Default
    Long click_ct = 0L;//点击数

    @Builder.Default
    Long favor_ct = 0L;//收藏数

    @Builder.Default
    Long cart_ct = 0L;//添加购物车数

    @Builder.Default
    Long order_goods_num = 0L;//下单商品数

    @Builder.Default
    BigDecimal order_amount = BigDecimal.ZERO;//订单金额

    @Builder.Default
    Long order_ct = 0L;//订单数

    @Builder.Default
    BigDecimal payment_amount = BigDecimal.ZERO;//支付金额

    @Builder.Default
    Long paid_order_ct = 0L;//已支付订单数

    @Builder.Default
    Long refound_order_ct = 0L;//退款订单数

    @Builder.Default
    BigDecimal refound_amount = BigDecimal.ZERO;//退款金额

    @Builder.Default
    Long comment_ct = 0L;//订单评论数

    @Builder.Default
    Long good_comment_ct = 0L;//订单好评数

    @Builder.Default
    @TransientSink
    Set orderIdSet = new HashSet();//用于统计订单数

    @Builder.Default
    @TransientSink
    Set paidOrderIdSet = new HashSet(); //用于统计支付订单数

    @Builder.Default
    @TransientSink
    Set refundOrderIdSet = new HashSet();//用于退款支付订单数

    Long ts; //统计时间戳
}
